package com.fg.cloud.manager.mapper.factory;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.fg.cloud.manager.entry.factory.FactoryStatementDetails;
import com.fg.cloud.manager.entry.factory.FactoryStatementEntity;
import com.fg.cloud.manager.mapper.BaseMapper;



/**
  * Description:厂商对账单 mapper
  * @author shaoqiping
  * @date 2017年8月28日下午4:12:51
*/
public interface FactoryStatementMapper extends BaseMapper{
	
	long delByfacId(@Param("facId")Long facId);
	
	/**
	  * Description:自动推送对账单
	  * @return
	  * @author shaoqiping
	  * @date 2017年10月23日上午9:14:39
	*/
	int autoPush();
	/**
	  * Description:自动确认对账单
	  * @return
	  * @author shaoqiping
	  * @date 2017年10月20日下午5:34:29
	*/
	int autoConfirm();
	/**
	  * Description:删除未确认的对账单
	  * @param id
	  * @return int
	  * @author shaoqiping
	  * @date 2017年10月12日上午10:25:28
	*/
	int deleteStatement(Long id);
	/**
	  * Description:确认对账单
	  * @param statementEntity
	  * @return
	  * @author shaoqiping
	  * @date 2017年8月30日下午2:16:04
	*/
	int update(FactoryStatementEntity statementEntity);
	/**
	  * Description:按时间段   发货单关联订单查询
	  * @param statementEntity
	  * @return
	  * @author shaoqiping
	  * @date 2017年8月29日上午11:31:15
	*/
	List<FactoryStatementDetails> selectDetails(FactoryStatementEntity statementEntity);
	
	/**
	  * Description:按时间段 查询流水
	  * @param statementEntity
	  * @return
	  * @author shaoqiping
	  * @date 2017年8月29日下午1:38:27
	*/
	List<FactoryStatementDetails> selectFlows(FactoryStatementEntity statementEntity);
	
	
	/**
	  * Description:按ID查询
	  * @param id
	  * @return
	  * @author shaoqiping
	  * @date 2017年8月29日下午5:00:17
	*/
	FactoryStatementEntity selectByPrimaryKey(@Param("id")Long id);
	
	/**
	  * Description:查询最近的对账单
	  * @param facId
	  * @param ageId
	  * @return
	  * @author shaoqiping
	  * @date 2017年8月29日下午6:28:44
	*/
	FactoryStatementEntity selectLastOne(@Param("facId")Long facId,@Param("ageId")Long ageId);
}
